package com.hzmall.dao;

import com.hzmall.pojo.Cart;
import com.hzmall.pojo.Product;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CartMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Cart record);

    int insertSelective(Cart record);

    Cart selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Cart record);

    int updateByPrimaryKey(Cart record);

    List<Cart> selectCartByUserId(Integer userId);

//    List<Product> selectProductByUserId(Integer userId);

    Integer selectUnCheckedCartByUserId(Integer userId);

    Integer updateCartProductCount(@Param("userId") Integer userId,@Param("count") Integer count,@Param("productId") Integer productId);

    Integer insertProductIntoCart(@Param("userId") Integer userId,@Param("productId") Integer productId,@Param("count") Integer count);

    Cart selectCartByUserIdAndProductId(@Param("userId") Integer userId,@Param("productId") Integer productId);

    Integer deleteCartByProductId(@Param("productIds") Integer[] productIds,@Param("userId") Integer userId);

    Integer updateAllCartChecked(Integer userId);

    Integer updateAllCartUnChecked(Integer userId);

    List<Cart> selectCartByUserIdChecked(Integer userId);
}